The field of the present invention is automatic frame generation using a processor. In particular, the present invention relates to adding a frame to a graphic image.
Many types of computing devices acquire, store, or display graphical images. These images may be in the form of pictures, clip art, stock photos, or other graphical representations. The pictures may be in color, in black and white, or in a gray scale, and may have various resolutions, bit depths, or other characteristics. The computing devices acquire these images either by downloading the images from another source, such as from a server, or by taking a digital image using a digital camera module, such as a CCD device. For example, a wireless phone now commonly has a camera device for taking a digital picture, and displaying that image on the mobile phone's LCD display screen. The mobile phone may also wirelessly communicate the image to other mobile phones or to other computing devices for viewing, storing, or printing. Alternatively, images may be acquired through physical connection, such as to the Internet or with a direct connection to another computer system. Other types of computing devices may include personal data assistance (PDA), laptops, notebook computers, tablet computers and Internet appliances. Other examples include wireless devices such as mobile phones, mobile data assistants, and telemetric devices. All these devices are generally capable of displaying a single image, and many of these devices may be capable of acquiring or displaying a sequence of images, such as frames of a movie or an animation. For example, many digital camera systems are capable of taking both still images and generating a movie file comprising a sequence of image frames. The images and the movies maybe for local presentation or may be transferred to a remote device for storage or viewing.
When viewing these images, either as individual images or as a movie, it is often desirable to add a frame for the image. A frame is a visually distinctive graphical element viewed along with the image. Frames provide an aesthetically pleasing aspect to the image, and allow an individual to add a bit of personality and creativity to an image. A frame may also assist the user in focusing a message relating to the image, or may be useful to distinguish the image from other images or from a background. Also, frames are decorative, and add fun and whimsy to the hobby of taking and publishing images and movies. The framed images may be viewed locally, for example, by viewing the framed image on a local display. The framed image may also be published to other computing and display devices such as other computers, other wireless phones, or personal data assistants. Also, the framed images may be stored locally, in magnetic media, or on remote servers for later access.
Users often desire the ability to select a specific frame for a particular image. Many users further desire the ability to select among many available frame styles when choosing a frame. Accordingly, it is desirable that computing devices hold or have access to many frame styles to satisfy the users. These frame styles may be provided in the local device, or the device may provide a mechanism for downloading or adding additional frame styles. For example, a wireless phone may have several frame styles in local read-only memory, and further may allow for selection and downloading of additional frame styles from a remote server.
Typically, each frame style is stored as a separate graphical image file in the local device. Each graphic file typically consumes 10 k to 30 k of memory space. Further, a different graphic file is usually needed for each supported image size or resolution. Different sizes are used to allow the user to select more particularly how the image will fit with the frame. For example, the user may desire that the frame be relatively narrow for one image, and may desire that the same style frame be relatively wide for another image. Also, different resolutions may need to be supported, for example, for viewing an image on a small local screen, for viewing on a full size computer screen, for display on PDA's, for publishing to a website, and for printing. Thus, it may be desirable to have other resolutions available for each frame style. In this way, when a user selects a single frame style, and desires that frame style to be available in five sizes or resolutions, that single frame style may consume 50 k to 150 k of memory. If a user has only ten frame styles, each available in five sizes or resolutions, then storing the frame styles could consume 500 k to 1500 k of memory. Since memory is a scarce resource on many devices, such as in mobile phones and PDA's, users are limited in the number of frame styles that may be locally stored. Further, transferring these frame styles to the device consumes transmission bandwidth, and often carriers a communication cost. Particularly for remote devices communicating wirelessly, it is desirable to minimize transmission bandwidth.
In use, a user selects a particular type of frame style and selects a resolution for publication. The local device opens the selected frame file and inserts the image into a transparent area of the frame graphic. The combined frame and image are then ready for publication. However, since the frame file is a separate image, resizing the frame also causes a corresponding resize in the transparency area. Accordingly, since the image size and resolution is not easily change, it is not convenient to resize a frame to meet the particular desires of a user. Since a single frame style cannot be easily resized, several sizes or resolutions of a single frame are often stored, thereby consuming substantial memory. Alternatively, a processor could implement an algorithmic solution to the resizing issue, but such an algorithm would use valuable processor power, and may use substantial memory for its operation.
Unfortunately, the known way of adding a frame to an image requires storing relatively large frame files for each size and resolution desired. Further, the user is limited to specific resolutions that the frame may be resized to. With the memory, bandwidth, and resizing constraints of known framing techniques, users are limited in their use and selection of frame styles.
In another example of adding a frame to an image, it is known in modern computer applications to add frames to images. For example, graphics program may provide frame portions that may be manually selected, sized, and manipulated for placement around an image. After all the frame elements have been placed around the image, a user selects all the frame portions and saves the combination as a group. This grouped frame/image may then be viewed, published, or otherwise transmitted. However, the process is cumbersome and time consuming and is not practically practiced on many devices such as mobile phones, for example, because typical mobile phones have limited user input controls and capability.
Therefore, to overcome the deficiencies outlined above, there exists a need to provide a system and method for generating a framed image.